generic
   type Elem is private,
   Size in private

package Verem_Pkg is

   type Verem(meret:Natural) is private;

   procedure Push(V: in out Verem; E: in Elem);
   procedure Pop(V: in out Verem);
   function Top(V: Verem) return Elem;
   function Is_Empty(V: Verem) return Boolean;

private

   type Tomb is array (Integer range <>) of Elem;

   type Verem(meret:Natural) is record
      Elemek: Tomb(0..meret);
      elem_szam: Natural:=0;
   end record;
end Verem_Pkg;
